/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.edu.pucp.Servicio;

import java.util.ArrayList;
import pe.edu.pucp.DAO.DAOCliente;
import pe.edu.pucp.DAO.DAOFactura;
import pe.edu.pucp.bean.Cliente;


public class Servicio_Cliente {
    public static Servicio_Cliente instance = null;
    public static final int DB_TYPE = DAOFactura.ACCESS;
    private ArrayList<Cliente> clients = new ArrayList<Cliente>();
    
    protected void Service_Client(){}
    
    public static Servicio_Cliente get_instance(){
        if(instance == null) instance = new Servicio_Cliente();
        return instance;
    }
    public int agregaCliente( Cliente client){
		 DAOFactura daofactura = DAOFactura.get_instance(DB_TYPE);
                DAOCliente clienteDAO= daofactura.getDAOCliente();
		return  clienteDAO.agregarCliente(client);            
	}
    public int eliminaCliente(int id){
             DAOFactura daofactura = DAOFactura.get_instance(DB_TYPE);
            DAOCliente clienteDAO= daofactura.getDAOCliente();
            return  clienteDAO.delete(id);             
    }
     public final ArrayList<Cliente> queryAllClientes(){
            DAOFactura daofactura = DAOFactura.get_instance(DB_TYPE);
            DAOCliente clienteDAO = daofactura.getDAOCliente();
            return clienteDAO.queryAll();            
        }
      public int editaCliente(Cliente c) {
            DAOFactura daofactura = DAOFactura.get_instance(DB_TYPE);
            DAOCliente daocliente = daofactura.getDAOCliente();
            return daocliente.update(c);    
         }
      public Cliente queryByCliente(String id) {
              DAOFactura daofactura = DAOFactura.get_instance(DB_TYPE);
              DAOCliente clienteDAO = daofactura.getDAOCliente();
              return clienteDAO.queryByIdC(id);
            }
      
      
       public ArrayList<Cliente> queryByCampos(String ruc,String razon) {
       DAOFactura daofactura = DAOFactura.get_instance(DB_TYPE);
            DAOCliente daoCliente = daofactura.getDAOCliente();
            return daoCliente.querybycampos(ruc,razon);
    }
}
